package com.ajhlp.spring_modules.db.dao;

import java.util.List;
import java.util.Map;

import com.ajhlp.spring_modules.db.multiSource.metaModel.DBSource_BasicInfo;
import com.ajhlp.spring_modules.db.multiSource.metaModel.DBSource_DataField;
import com.ajhlp.spring_modules.db.multiSource.metaModel.DBSource_DataSet;
import com.ajhlp.spring_modules.db.multiSource.metaModel.DBSource_Query;
import com.ajhlp.spring_modules.db.multiSource.metaModel.DBSource_Type;

/**
 * 数据源描述信息数据保存
 * @author ajhlp
 *
 */
public interface IDBSourceMetaDao {

	/**
	 * 查询数据源类型
	 * @param conditon 查询条件如果id<=0返回所有数据源类型
	 * @return
	 */
	public List<DBSource_Type> queryAllTypes(DBSource_Query condition);
	/**
	 * 查询基本信息
	 * @param condition
	 * @return
	 */
	public List<DBSource_BasicInfo> queryBasicInfo(DBSource_Query condition);
	/**
	 * 查询数据表、集信息
	 * @param condition
	 * @return
	 */
	public List<DBSource_DataSet> queryDataSetInfo(DBSource_Query condition);
	/**
	 * 查询数据字段信息
	 * @param condition
	 * @return
	 */
	public List<DBSource_DataField> queryDataFieldInfo(DBSource_Query condition);
	
	/**
	 * 保存数据源基本信息
	 * @param basicInfo
	 */
	public void saveBasicInfo(DBSource_BasicInfo basicInfo);
	/**
	 * 更新数据源基本信息
	 * @param basicInfo
	 */
	public void updateBasicInfo(DBSource_BasicInfo basicInfo);
	/**
	 * 保存数据表、集基本信息
	 * @param dataSet
	 */
	public void saveDataSetInfo(DBSource_DataSet dataSet);
	/**
	 * 更新数据表、集基本信息
	 * @param dataSet
	 */
	public void updateDataSetInfo(DBSource_DataSet dataSet);
	/**
	 * 保存数据字段信息
	 * @param dataField
	 */
	public void saveDataFieldInfo(DBSource_DataField dataField);
	/**
	 * 更新数据字段信息
	 * @param dataField
	 */
	public void updateDataFieldInfo(DBSource_DataField dataField);
	
}
